ASP.Net Identity Framework পরিচিতি

Web Development - এএসপি ডট (ASP.Net) - Authentication এবং Authorization |

ASP.Net Identity Framework হলো একটি আধুনিক এবং শক্তিশালী সিকিউরিটি ফ্রেমওয়ার্ক, যা ASP.Net এবং ASP.Net Core অ্যাপ্লিকেশনগুলোর জন্য ইউজার অথেন্টিকেশন এবং অথোরাইজেশন পরিচালনা করতে ব্যবহৃত হয়। এটি ইউজারদের রেজিস্ট্রেশন, লগইন, পাসওয়ার্ড ম্যানেজমেন্ট, রোল এবং পারমিশন কন্ট্রোল, টোকেন বেসড অথেন্টিকেশন, এবং অন্যান্য নিরাপত্তা সম্পর্কিত কার্যাবলী সমর্থন করে।

ASP.Net Identity ফ্রেমওয়ার্ক প্রাথমিকভাবে ইউজার-ভিত্তিক অথেন্টিকেশন ও অথোরাইজেশন ব্যবস্থা তৈরি করার জন্য ডিজাইন করা হয়েছে এবং এটি একাধিক অথেন্টিকেশন মেকানিজমের মাধ্যমে ইউজারের সিকিউরিটি নিশ্চিত করে।


ASP.Net Identity এর মূল বৈশিষ্ট্যসমূহ

ASP.Net Identity ফ্রেমওয়ার্কে কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য রয়েছে, যা ডেভেলপারদের ইউজার ম্যানেজমেন্ট এবং সিকিউরিটি ফিচারগুলিকে সহজ করে তোলে। এই বৈশিষ্ট্যগুলো অন্তর্ভুক্ত:

  1. ইউজার অথেন্টিকেশন
    ASP.Net Identity ব্যবহার করে ইউজারদের রেজিস্ট্রেশন এবং লগইন ব্যবস্থা সহজে তৈরি করা যায়। এতে আপনি ইউজারদের নাম, ইমেইল, পাসওয়ার্ড ইত্যাদি যাচাই করতে পারেন।
  2. পাসওয়ার্ড ম্যানেজমেন্ট
    এটি পাসওয়ার্ডের শক্তি যাচাই, পাসওয়ার্ড রিসেট, পাসওয়ার্ড রিওয়ার্ড ফিচার, এবং পাসওয়ার্ড রিভোকেশন সমর্থন করে।
  3. রোল এবং পারমিশন
    ASP.Net Identity ইউজারদের রোল এবং পারমিশন অ্যাসাইন করার সুবিধা দেয়। এতে ইউজারকে নির্দিষ্ট রোল যেমন Admin, User, Manager ইত্যাদি দেওয়া যায় এবং রোল ভিত্তিক অ্যাক্সেস কন্ট্রোল করা যায়।
  4. টোকেন বেসড অথেন্টিকেশন
    ASP.Net Identity ফ্রেমওয়ার্ক JWT (JSON Web Tokens) বা OAuth এর মতো টোকেন বেসড অথেন্টিকেশন ব্যবস্থা সমর্থন করে। এটি মুঠোফোন, ওয়েব অ্যাপ, বা API গুলোর মধ্যে নিরাপদ এবং স্কেলেবল অথেন্টিকেশন প্রক্রিয়া নিশ্চিত করে।
  5. ইমেইল এবং ফোন নম্বর ভেরিফিকেশন
    ইউজারের ইমেইল বা ফোন নম্বর ভেরিফিকেশনের জন্য ইনবিল্ট ফিচার প্রদান করে, যা ইউজার অ্যাকাউন্টের সিকিউরিটি এবং বিশ্বাসযোগ্যতা বৃদ্ধি করে।
  6. থার্ড-পার্টি অথেন্টিকেশন
    ASP.Net Identity ফ্রেমওয়ার্কের মাধ্যমে Facebook, Google, Twitter, এবং Microsoft এর মতো তৃতীয় পক্ষের অথেন্টিকেশন সিস্টেম ইনটিগ্রেট করা যায়। এর মাধ্যমে সোশ্যাল মিডিয়া বা অন্যান্য সেবা থেকে ইউজারের অ্যাক্সেস নিয়ন্ত্রণ করা যায়।

ASP.Net Identity প্রজেক্টে ইনস্টল করা

ASP.Net Identity ফ্রেমওয়ার্ক ইনস্টল করা এবং কনফিগার করা বেশ সোজা। আপনি যদি ASP.Net Core ব্যবহার করছেন, তবে নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করতে হবে:

  1. NuGet প্যাকেজ ইনস্টল করা

    ASP.Net Identity ফ্রেমওয়ার্ক ব্যবহার করতে NuGet প্যাকেজের মাধ্যমে Microsoft.AspNetCore.Identity ইনস্টল করতে হবে।

    Package Manager Console ব্যবহার করে:

    Install-Package Microsoft.AspNetCore.Identity.EntityFrameworkCore
    

    অথবা .NET CLI ব্যবহার করে:

    dotnet add package Microsoft.AspNetCore.Identity.EntityFrameworkCore
    
  2. DbContext কনফিগারেশন

    ASP.Net Identity একটি DbContext ক্লাসের মাধ্যমে ইউজার এবং রোল ডেটা সংরক্ষণ করে। এটি সাধারণত ApplicationDbContext হিসেবে পরিচিত থাকে। এই DbContext ক্লাসটি IdentityDbContext থেকে ইনহেরিট করে।

    উদাহরণ:

    public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
            : base(options)
        {
        }
    }
    

    এখানে, ApplicationUser হলো একটি কাস্টম ইউজার ক্লাস যা IdentityUser থেকে ইনহেরিট করে, যেখানে ইউজারের জন্য অতিরিক্ত প্রপার্টি যোগ করা যেতে পারে।

  3. স্টার্টআপ কনফিগারেশন

    Startup.cs ফাইলে Identity সেবা কনফিগার করতে হবে:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
    
        services.AddIdentity<ApplicationUser, IdentityRole>()
                .AddEntityFrameworkStores<ApplicationDbContext>()
                .AddDefaultTokenProviders();
    }
    

    এখানে, AddIdentity<ApplicationUser, IdentityRole> Identity সার্ভিস কনফিগার করে এবং AddEntityFrameworkStores<ApplicationDbContext> ডেটাবেস সংযোগ স্থাপন করে।


ASP.Net Identity ব্যবহার করে ইউজার অথেন্টিকেশন

ASP.Net Identity ফ্রেমওয়ার্কের মাধ্যমে ইউজার লগইন এবং রেজিস্ট্রেশন সিস্টেম তৈরি করতে নিম্নলিখিত প্রক্রিয়া অনুসরণ করতে হবে:

  1. ইউজার রেজিস্ট্রেশন ইউজার রেজিস্ট্রেশন প্রক্রিয়াটি সাধারণত একটি ফর্মের মাধ্যমে শুরু হয়, যেখানে ইউজার তার নাম, ইমেইল, পাসওয়ার্ড ইত্যাদি প্রদান করে। UserManager ব্যবহার করে রেজিস্ট্রেশন সম্পন্ন করা হয়।

    উদাহরণ:

    var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
    var result = await _userManager.CreateAsync(user, model.Password);
    
  2. ইউজার লগইন ইউজার লগইন প্রক্রিয়া পরিচালনার জন্য SignInManager ব্যবহার করা হয়।

    উদাহরণ:

    var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, false);
    
  3. ইমেইল ভেরিফিকেশন ASP.Net Identity ফ্রেমওয়ার্ক ইউজারের ইমেইল ভেরিফিকেশন সুবিধা প্রদান করে। ইমেইল ভেরিফিকেশন পদ্ধতিটি ব্যবহারকারীর ইমেইলে একটি ভেরিফিকেশন লিঙ্ক পাঠানোর মাধ্যমে কাজ করে।

সারাংশ

ASP.Net Identity ফ্রেমওয়ার্ক একটি শক্তিশালী অথেন্টিকেশন এবং অথোরাইজেশন সিস্টেম যা ASP.Net এবং ASP.Net Core অ্যাপ্লিকেশনে নিরাপত্তা পরিচালনা করতে সাহায্য করে। এটি ইউজারের রেজিস্ট্রেশন, লগইন, পাসওয়ার্ড রিসেট, রোল ম্যানেজমেন্ট, এবং সোশ্যাল অথেন্টিকেশন সমর্থন করে। Identity ফ্রেমওয়ার্ক ASP.Net অ্যাপ্লিকেশনগুলির জন্য একটি উন্নত সিকিউরিটি সিস্টেম নিশ্চিত করে, যা ইউজার ডেটা সুরক্ষিত রাখতে সাহায্য করে।

Content added By
Promotion